package com.ruoyi.asset.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 资产基本信息对象 asset_info
 * 
 * @author ruoyi
 * @date 2025-03-12
 */
@Data
public class AssetInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 资产编号 */
    @Excel(name = "资产编号")
    private String assetNumber;

    /** 资产名称 */
    @Excel(name = "资产名称")
    private String assetName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specification;
    private BigDecimal originalValue;
    private String depreciationMethod;
    private Long estimatedLife;
    private String usedYear;
    /** $column.columnComment */
    @Excel(name = "资产类别")
    private String assetCategory;

    /** 购入日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购入日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 录入期间 */
    @Excel(name = "录入期间")
    private String entryPeriod;

    /** 开始使用日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始使用日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startUseDate;

    /** 存放位置 */
    @Excel(name = "存放位置")
    private String location;

    /** 使用部门（字典表关联） */
    @Excel(name = "使用部门", readConverterExp = "字典表关联")
    private String useDepartment;

    /** 使用人 */
    @Excel(name = "使用人")
    private String user;

    /** 供应商（字典表关联） */
    @Excel(name = "供应商", readConverterExp = "字典表关联")
    private String supplier;

    /** 增加类型（字典表关联） */
    @Excel(name = "增加类型", readConverterExp = "字=典表关联")
    private String addType;

    /** 复制张数 */
    @Excel(name = "复制张数")
    private Long copyCount;

    /** 录入当期折旧（0:否,1:是） */
    @Excel(name = "录入当期折旧", readConverterExp = "0=:否,1:是")
    private Integer depreciateNow;
    @Excel(name = "残值率", readConverterExp = "%=")
    private BigDecimal residualRate;
    /** 税额 */
    @Excel(name = "税额")
    private BigDecimal taxAmount;
    /** 累计折旧 */
    @Excel(name = "累计折旧")
    private BigDecimal accumDepreciation;
    /** 每月折旧额 */
    @Excel(name = "每月折旧额")
    private BigDecimal monthlyDepreciation;
    /** 期末净值 */
    @Excel(name = "期末净值")
    private BigDecimal endingNetValue;
    /** 期初净值 */
    @Excel(name = "期初净值")
    private BigDecimal initialNetValue;
    private  String department;
    /** 类型 */
    @Excel(name = "类型")
    private String type;
    /** 减值准备科目 */
    @Excel(name = "减值准备科目")
    private String impairmentAccount;

    /** 固定资产科目 */
    @Excel(name = "固定资产科目")
    private String fixedAssetAccount;

    /** 累计折旧科目 */
    @Excel(name = "累计折旧科目")
    private String accumDepreciationAccount;

    /** 折旧费用科目 */
    @Excel(name = "折旧费用科目")
    private String depreciationExpenseAccount;

    /** 税金科目 */
    @Excel(name = "税金科目")
    private String taxAccount;

    /** 资产清理科目 */
    @Excel(name = "资产清理科目")
    private String assetDisposalAccount;

    /** 资产购入对方科目 */
    @Excel(name = "资产购入对方科目")
    private String purchaseAccount;
}
